<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-grub" role="wrap">
  <?dbhtml filename="grub.html"?>

  <sect1info condition="script">
    <productname>grub</productname>
    <productnumber>&grub-version;</productnumber>
    <address>&grub-url;</address>
  </sect1info>

  <title>GRUB-&grub-version;</title>

  <indexterm zone="ch-system-grub">
    <primary sortas="a-Grub">GRUB</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR или bootmgr), MS-DOS, OS/2 и другие системы.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&grub-ch6-sbu;</seg>
        <seg>&grub-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка пакета GRUB</title>

    <para>Подготовьте пакет GRUB к компиляции:</para>

<screen><userinput remap="configure">./configure --prefix=/usr          \
            --sbindir=/sbin        \
            --sysconfdir=/etc      \
            --disable-efiemu       \
            --disable-werror</userinput></screen>

    <variablelist>
      <title>Значения новых параметров конфигурации:</title>

      <varlistentry>
        <term><parameter>--disable-werror</parameter></term>
        <listitem>
          <para>Аргумент позволяет завершить сборку с предупреждениями с более поздними версиями Flex.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--disable-efiemu</parameter></term>
        <listitem>
          <para>Аргумент минимизирует что будет собрано, отключив функции и программы тестирования, которые не требуются для системы LFS.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para>Скомпилируйте пакет:</para>

<screen><userinput remap="make">make</userinput></screen>

    <para>У этого пакета нет тестов.</para>

    <para>Установите пакет:</para>

<screen><userinput remap="install">make install
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userinput></screen>

  <para>Информация о том как обеспечить загрузку системы, с использованием GRUB, будет описано в разделе <xref linkend="ch-bootable-grub"/>.</para>

  </sect2>

  <sect2 id="contents-gRUB" role="content">
    <title>Содержимое пакета GRUB</title>

    <segmentedlist>
      <segtitle>Установленные программы</segtitle>
      <segtitle>Установленные каталоги</segtitle>

      <seglistitem>

       <seg>grub-bios-setup,      grub-editenv,    grub-file,        grub-fstest,
            grub-glue-efi,        grub-install,    grub-kbdcomp,     grub-macbless,
            grub-menulst2cfg,     grub-mkconfig,
                                  grub-mkimage,    grub-mklayout,    grub-mknetdir,
            grub-mkpasswd-pbkdf2, grub-mkrelpath,  grub-mkrescue,    grub-mkstandalone,
            grub-ofpathname,      grub-probe,      grub-reboot,      grub-render-label,
            grub-script-check,
            grub-set-default,     grub-sparc64-setup, and grub-syslinux2cfg</seg>

        <seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub, и /boot/grub (при первом запуске grub-install)</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="grub-bios-setup">
        <term><command>grub-bios-setup</command></term>
        <listitem>
          <para>Is a helper program for grub-install</para>
          <indexterm zone="ch-system-grub grub-bios-setup">
            <primary sortas="b-grub-bios-setup">grub-bios-setup</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-editenv">
        <term><command>grub-editenv</command></term>
        <listitem>
          <para>A tool to edit the environment block</para>
          <indexterm zone="ch-system-grub grub-editenv">
            <primary sortas="b-grub-editenv">grub-editenv</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-file">
        <term><command>grub-file</command></term>
        <listitem>
          <para>Checks if FILE is of the specified type.</para>
          <indexterm zone="ch-system-grub grub-file">
            <primary sortas="b-grub-file">grub-file</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-fstest">
        <term><command>grub-fstest</command></term>
        <listitem>
          <para>Tool to debug the filesystem driver</para>
          <indexterm zone="ch-system-grub grub-fstest">
            <primary sortas="b-grub-fstest">grub-fstest</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-glue-efi">
        <term><command>grub-glue-efi</command></term>
        <listitem>
          <para>Processes ia32 and amd64 EFI images and glues them
          according to Apple format.</para>
          <indexterm zone="ch-system-grub grub-glue-efi">
            <primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-install">
        <term><command>grub-install</command></term>
        <listitem>
          <para>Установите GRUB on your drive</para>
          <indexterm zone="ch-system-grub grub-install">
            <primary sortas="b-grub-install">grub-install</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-kbdcomp">
        <term><command>grub-kbdcomp</command></term>
        <listitem>
          <para>Script that converts an xkb layout into one recognized by
          GRUB</para>
          <indexterm zone="ch-system-grub grub-kbdcomp">
            <primary sortas="b-grub-kbdcomp">grub-kbdcomp</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-macbless">
        <term><command>grub-macbless</command></term>
        <listitem>
          <para>Mac-style bless on HFS or HFS+ files</para>
          <indexterm zone="ch-system-grub grub-macbless">
            <primary sortas="b-grub-macbless">grub-macbless</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-menulst2cfg">
        <term><command>grub-menulst2cfg</command></term>
        <listitem>
          <para>Converts a GRUB Legacy <filename>menu.lst</filename>
          into a <filename>grub.cfg</filename> for use with GRUB 2</para>
          <indexterm zone="ch-system-grub grub-menulst2cfg">
            <primary sortas="b-grub-menulst2cfg">grub-menulst2cfg</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkconfig">
        <term><command>grub-mkconfig</command></term>
        <listitem>
          <para>Generate a grub config file</para>
          <indexterm zone="ch-system-grub grub-mkconfig">
            <primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkimage">
        <term><command>grub-mkimage</command></term>
        <listitem>
          <para>Make a bootable image of GRUB</para>
          <indexterm zone="ch-system-grub grub-mkimage">
            <primary sortas="b-grub-mkimage">grub-mkimage</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mklayout">
        <term><command>grub-mklayout</command></term>
        <listitem>
          <para>Generates a GRUB keyboard layout file</para>
          <indexterm zone="ch-system-grub grub-mklayout">
            <primary sortas="b-grub-mklayout">grub-mklayout</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mknetdir">
        <term><command>grub-mknetdir</command></term>
        <listitem>
          <para>Подготовьте пакетs a GRUB netboot directory</para>
          <indexterm zone="ch-system-grub grub-mknetdir">
            <primary sortas="b-grub-mknetdir">grub-mknetdir</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkpasswd-pbkdf2">
        <term><command>grub-mkpasswd-pbkdf2</command></term>
        <listitem>
          <para>Generates an encrypted PBKDF2 password for use in the boot
          menu</para>
          <indexterm zone="ch-system-grub grub-mkpasswd-pbkdf2">
            <primary sortas="b-grub-mkpasswd-pbkdf2">grub-mkpasswd-pbkdf2</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkrelpath">
        <term><command>grub-mkrelpath</command></term>
        <listitem>
          <para>Makes a system pathname relative to its root</para>
          <indexterm zone="ch-system-grub grub-mkrelpath">
            <primary sortas="b-grub-mkrelpath">grub-mkrelpath</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkrescue">
        <term><command>grub-mkrescue</command></term>
        <listitem>
          <para>Make a bootable image of GRUB suitable for a floppy disk or CDROM/DVD</para>
          <indexterm zone="ch-system-grub grub-mkrescue">
            <primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-mkstandalone">
        <term><command>grub-mkstandalone</command></term>
        <listitem>
          <para>Generates a standalone image</para>
          <indexterm zone="ch-system-grub grub-mkstandalone">
            <primary sortas="b-grub-mkstandalone">grub-mkstandalone</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-ofpathname">
        <term><command>grub-ofpathname</command></term>
        <listitem>
          <para>Is a helper program that prints the path of a GRUB device</para>
          <indexterm zone="ch-system-grub grub-ofpathname">
            <primary sortas="b-grub-ofpathname">grub-ofpathname</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-probe">
        <term><command>grub-probe</command></term>
        <listitem>
          <para>Probe device information for a given path or device</para>
          <indexterm zone="ch-system-grub grub-probe">
            <primary sortas="b-grub-probe">grub-probe</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-reboot">
        <term><command>grub-reboot</command></term>
        <listitem>
          <para>Sets the default boot entry for GRUB for the next boot only</para>
          <indexterm zone="ch-system-grub grub-reboot">
            <primary sortas="b-grub-reboot">grub-reboot</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-render-label">
        <term><command>grub-render-label</command></term>
        <listitem>
          <para>Render Apple .disk_label for Apple Macs</para>
          <indexterm zone="ch-system-grub grub-render-label">
            <primary sortas="b-grub-render-label">grub-render-label</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-script-check">
        <term><command>grub-script-check</command></term>
        <listitem>
          <para>Checks GRUB configuration script for syntax errors</para>
          <indexterm zone="ch-system-grub grub-script-check">
            <primary sortas="b-grub-script-check">grub-script-check</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-set-default">
        <term><command>grub-set-default</command></term>
        <listitem>
          <para>Sets the default boot entry for GRUB</para>
          <indexterm zone="ch-system-grub grub-set-default">
            <primary sortas="b-grub-set-default">grub-set-default</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-sparc64-setup">
        <term><command>grub-sparc64-setup</command></term>
        <listitem>
          <para>Is a helper program for grub-setup</para>
          <indexterm zone="ch-system-grub grub-sparc64-setup">
            <primary sortas="b-grub-sparc64-setup">grub-setup</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="grub-syslinux2cfg">
        <term><command>grub-syslinux2cfg</command></term>
        <listitem>
          <para>Transform a syslinux config file into grub.cfg format</para>
          <indexterm zone="ch-system-grub grub-syslinux2cfg">
            <primary sortas="b-grub-syslinux2cfg">grub-syslinux2cfg</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
